package lp.xian.production.service.impl;

import java.util.Date;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import lp.xian.production.domain.OperationProduct;
import lp.xian.production.mapper.OperationProductMapper;
import lp.xian.production.vo.FinishedProductVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lp.xian.production.mapper.FinishedProductMapper;
import lp.xian.production.domain.FinishedProduct;
import lp.xian.production.service.IFinishedProductService;

/**
 * 成品列表Service业务层处理
 *
 * @author ruoyi
 * @date 2023-07-05
 */
@Service
public class FinishedProductServiceImpl implements IFinishedProductService
{
    @Autowired
    private FinishedProductMapper finishedProductMapper;
    @Autowired
    private OperationProductMapper operationProductMapper;

    /**
     * 查询成品列表
     *
     * @param finishProductId 成品列表主键
     * @return 成品列表
     */
    @Override
    public FinishedProduct selectFinishedProductByFinishProductId(Integer finishProductId)
    {
        return finishedProductMapper.selectFinishedProductByFinishProductId(finishProductId);
    }

    /**
     * 查询成品列表列表
     *
     * @param finishedProduct 成品列表
     * @return 成品列表
     */
    @Override
    public List<FinishedProduct> selectFinishedProductList(FinishedProduct finishedProduct)
    {
        return finishedProductMapper.selectFinishedProductList(finishedProduct);
    }

    /**
     * 新增成品列表
     *
     * @param finishedProduct 成品列表
     * @return 结果
     */
    @Override
    public int insertFinishedProduct(FinishedProduct finishedProduct)
    {
        finishedProduct.setCreateTime(DateUtils.getNowDate());
        return finishedProductMapper.insertFinishedProduct(finishedProduct);
    }

    /**
     * 修改成品列表
     *
     * @param finishedProduct 成品列表
     * @return 结果
     */
    @Override
    public int updateFinishedProduct(FinishedProduct finishedProduct)
    {
        finishedProduct.setUpdateTime(DateUtils.getNowDate());
        return finishedProductMapper.updateFinishedProduct(finishedProduct);
    }

    /**
     * 批量删除成品列表
     *
     * @param finishProductIds 需要删除的成品列表主键
     * @return 结果
     */
    @Override
    public int deleteFinishedProductByFinishProductIds(Integer[] finishProductIds)
    {
        return finishedProductMapper.deleteFinishedProductByFinishProductIds(finishProductIds);
    }

    /**
     * 删除成品列表信息
     *
     * @param finishProductId 成品列表主键
     * @return 结果
     */
    @Override
    public int deleteFinishedProductByFinishProductId(Integer finishProductId)
    {
        return finishedProductMapper.deleteFinishedProductByFinishProductId(finishProductId);
    }

    @Override
    public int operationFinishedProduct(FinishedProductVo finishedProductvo) {
        OperationProduct operationProduct=new OperationProduct();
        operationProduct.setOperationProductName(finishedProductvo.getFinishProductName());
        operationProduct.setOperationProductNum(finishedProductvo.getFinishProductNum());
        operationProduct.setOperationProductUnit(finishedProductvo.getFinishProductUnit());
        operationProduct.setOperationProductPrice(finishedProductvo.getFinishProductPrice());
        operationProduct.setFirstDuty(finishedProductvo.getFristDuty());
        operationProduct.setFirstDutyPhone(finishedProductvo.getFristDutyPhone());
        operationProduct.setGradeClass(finishedProductvo.getGradeClass());
        operationProduct.setOperationProductNum(finishedProductvo.getFinishProductNum());
        operationProduct.setOfficeTime(finishedProductvo.getOfficeTime());
        operationProduct.setOffTime(finishedProductvo.getOffTime());
        operationProduct.setOfficeNum(Integer.parseInt(finishedProductvo.getOfficeNum()));
        operationProduct.setAuditStatus(0);
        operationProduct.setCreateBy("系统生成");
        operationProduct.setCreateTime(new Date());
        return operationProductMapper.insertOperationProduct(operationProduct);
    }
}
